第一章 简介

欢迎来到《第四部分:使用 LangChain 访问个人数据》!

本课程基于 LangChain 创始人哈里森·蔡斯 (Harrison Chase)与 Deeplearning.ai 合作开发的 《LangChain Chat With your Data》课程,将介绍如何利用 LangChain 框架,使语言模型访问并应用用户自有数据的强大能力。

一、背景

大语言模型(Large Language Model, LLM), 比如ChatGPT, 可以回答许多不同的问题。但是大语言模型的知识来源于其训练数据集,并没有用户的信息(比如用户的个人数据,公司的自有数据),也没有最新发生时事的信息(在大模型数据训练后发表的文章或者新闻)。因此大模型能给出的答案比较受限。

如果能够让大模型在训练数据集的基础上,利用我们自有数据中的信息来回答我们的问题,那便能够得到更有用的答案。

二、 课程基本内容

LangChain 是用于构建大模型应用程序的开源框架,有 Python 和 JavaScript 两个不同版本的包。它由模块化的组件构成,可单独使用也可链式组合实现端到端应用。

LangChain的组件包括:

  • 提示(Prompts): 使模型执行操作的方式。
  • 模型(Models):大语言模型、对话模型,文本表示模型。目前包含多个模型的集成。
  • 索引(Indexes): 获取数据的方式,可以与模型结合使用。
  • 链(Chains): 端到端功能实现。
  • 代理(Agents): 使用模型作为推理引擎

本课程将介绍使用 LangChain 的典型场景——基于自有数据的对话系统。我们首先学习如何使用 LangChain 的文档加载器 (Document Loader)从不同数据源加载文档。然后,我们学习如何将这些文档切割为具有语意的段落。这步看起来简单,不同的处理可能会影响颇大。接下来,我们讲解语义搜索(Semantic search)与信息检索的方法,获取用户问题相关的参考文档。该方法很简单,但是在某些情况下可能无法使用。我们将分析这些情况并给出解决方案。最后,我们介绍如何使用检索得到的文档,来让大语言模型(LLM)来回答关于文档的问题。

整个流程涵盖数据导入、信息检索与问答生成等关键环节。读者既可以学习各个组件的用法,也可以整体实践构建对话系统的思路。如果你想要先了解关于 LangChain 的基础知识,可以学习《LangChain for LLM Application Development》部分的内容。

本单元将帮助你掌握利用自有数据的语言模型应用开发技能。让我们开始探索个性化对话系统的魅力吧!